DataSeries
Eine generische abstrakte Basisklasse, die ein generisches DataSeries definiert, das 1..N-Spalten enthält, wie X,Y im Falle von einfachen X,Y-Daten oder X, Open, High, Low, Close im Falle von OHLC-Daten.
Erbt von: BindableObject
Implementiert: IDataSeries<T, T>, IDataSeries, ISuspendable
Konstruktoren
protected DataSeries()
dataSeries = DataSeries()
Initialisiert eine neue Instanz der DataSeries Klasse.
Eigenschaften
public bool AcceptsUnsortedData { get; set; }
value = dataSeries.AcceptsUnsortedData
dataSeries.AcceptsUnsortedData = value
Neu bei v3.3: Wenn AcceptsUnsortedData falsch ist, dann DataSeries mit einem InvalidOperationException, wenn unsortierte Daten hinzugefügt werden. Ungewollte unsortierte Daten können zu einer viel langsameren Leistung führen.
public int Count { get; }
value = dataSeries.Count
Bekommt die Anzahl der Punkte in dieser Datenreihe
public IDataDistributionCalculator<TX> DataDistributionCalculator { get; set; }
value = dataSeries.DataDistributionCalculator
dataSeries.DataDistributionCalculator = value
Bekommt oder setzt die DataDistrutionCalculator-Instanz für diese DataSeries. Wird beim erneuten Abtasten von Daten verwendet, um den richtigen Algorithmus zu bestimmen
public abstract DataSeriesType DataSeriesType { get; }
value = dataSeries.DataSeriesType
Bekommt die DataSeriesType @ dafür DataSeries
public int? FifoCapacity { get; set; }
value = dataSeries.FifoCapacity
dataSeries.FifoCapacity = value
Wenn die Datenreihe unbegrenzt ist, wenn ein Wert gesetzt wird, wenn die Punktzahl diesen Wert erreicht, werden ältere Punkte verworfen.
public abstract bool HasValues { get; }
value = dataSeries.HasValues
Bekommt, ob die Datenreihe Werte hat (nicht leer ist)
public bool IsAttached { get; }
value = dataSeries.IsAttached
Gibt einen Wert an, der angibt, ob diese Instanz angehängt ist.
public bool IsFifo { get; }
value = dataSeries.IsFifo
Bekommt, ob sich die Datenreihe als FIFO verhält Wenn es wahr ist, wenn der FifoCapacity erreicht wird, werden alte Punkte zugunsten neuer Punkte verworfen
public virtual bool IsSecondary { get; set; }
value = dataSeries.IsSecondary
dataSeries.IsSecondary = value
Wenn dies zutrifft, wird diese Datenreihe nicht für die Berechnung des Kartenbereichs ausgewählt.
public bool IsSorted { get; }
value = dataSeries.IsSorted
Wenn es möglich ist, versuchen Sie, die Daten in X-Richtung zu sortieren.
public bool IsSuspended { get; }
value = dataSeries.IsSuspended
Erhaltet einen Wert, der angibt, ob Updates für das Ziel derzeit ausgesetzt sind
public TY Item { get; }
value = dataSeries.Item
Holt das Element im Index von der angegebenen DataSeriesColumn.
public IComparable LatestYValue { get; }
value = dataSeries.LatestYValue
Holt sich den neuesten Y-Wert des DataSeries
public IUltrachartSurface ParentSurface { get; set; }
value = dataSeries.ParentSurface
dataSeries.ParentSurface = value
Bekommt oder setzt den übergeordneten IUltrachartSurface, an den diese IDataSeries Instanz angehängt ist
public string SeriesName { get; set; }
value = dataSeries.SeriesName
dataSeries.SeriesName = value
Bekommt oder setzt den Namen dieser Serie
StockSharp#Xaml#Charting#Model#DataSeries#IDataSeries#XValues
Bekommt die X-Werte dieser Datenreihe
StockSharp#Xaml#Charting#Model#DataSeries#IDataSeries#YValues
Bekommt die Y-Werte dieser Datenreihe
public Lock SyncRoot { get; }
value = dataSeries.SyncRoot
Synchronisationsobjekt (pro Instanz)
public IComparable XMax { get; }
value = dataSeries.XMax
Holt den berechneten Maximalwert in X für diese Serie
public IComparable XMin { get; }
value = dataSeries.XMin
Holt sich den berechneten Mindestwert in X für diese Serie
public virtual IRange XRange { get; }
value = dataSeries.XRange
Bekommt die berechnete XRange, die eine IRange-Umwicklung XMin und XMax Eigenschaften ist
public Type XType { get; }
value = dataSeries.XType
Bekommt den Typ der X-Datenpunkte in diesem DataSeries @. Wird verwendet, um die Kompatibilität mit Achsentypen zu überprüfen
public IList<TX> XValues { get; }
value = dataSeries.XValues
Bekommt die X-Werte dieser Serie
public IComparable YMax { get; }
value = dataSeries.YMax
Bekommt den berechneten Maximalwert in Y für diese Serie
public IComparable YMin { get; }
value = dataSeries.YMin
Bekommt den berechneten Mindestwert in Y für diese Serie
public virtual IRange YRange { get; }
value = dataSeries.YRange
Erhaltet den berechneten YRange, der eine IRange-Umwicklung der Eigenschaften YMin und YMax ist
public Type YType { get; }
value = dataSeries.YType
Bekommt den Typ der Y-Datenpunkte in diesem DataSeries @. Wird verwendet, um die Kompatibilität mit Achsentypen zu überprüfen
public IList<TY> YValues { get; }
value = dataSeries.YValues
Bekommt die Y-Werte dieser Serie
Methoden
public abstract void Append(IEnumerable<TX> x, IEnumerable<TY>[] yValues)
dataSeries.Append(x, yValues)
Anhängen einer Liste von X, Y zeigt auf die Serie
- x
- Die Liste der X Punkte
- yValues
- Listen von Y-Punkten (abhängig vom Serientyp)
public abstract void Append(TX x, TY[] yValues)
dataSeries.Append(x, yValues)
Hängt einen X, Y-Punkt an die Reihe an
- x
- Der X-Wert
- yValues
- Die Y-Werte (abhängig vom Serientyp)
public void Clear()
dataSeries.Clear()
Löscht die Serie und setzt interne Listen auf Null zurück
protected abstract void ClearColumns()
dataSeries.ClearColumns()
Wenn in einer abgeleiteten Klasse überschrieben, werden alle Spalten in der Datenreihe gelöscht
public abstract IDataSeries<TX, TY> Clone()
result = dataSeries.Clone()
Erstellt eine tiefe Kopie eines DataSeries
public void DecrementSuspend()
dataSeries.DecrementSuspend()
Jedes Mal, wenn ein Zielträger angeordnet wird, wird von IUpdateSuspender aufgerufen. Wenn der endgültige Zielträger angeordnet wurde, wird ResumeUpdates aufgerufen.
public virtual int FindClosestLine(IComparable x, IComparable y, double xyScaleRatio, double xRadius, LineDrawMode drawNanAs)
result = dataSeries.FindClosestLine(x, y, xyScaleRatio, xRadius, drawNanAs)
Suchregion ist ein vertikaler Bereich mit der Mitte in X und [maxXDistance] X Einheiten links und rechts.
- x
- Der X-Wert von Punkt [X Dateneinheiten, nicht Pixel]
- y
- Der Y-Wert von Punkt [Y Dateneinheiten, nicht Pixel]
- xyScaleRatio
- xUnitsPerPixel/yUnitsPerPixel
- xRadius
- Gibt die Suchregion in X-Einheiten an (Ticks für DateTime oder TimeSpan)
- drawNanAs
- gibt an, wie man mit NAN-Elementen umgeht
Rückgabe: Der Index des ersten Punktes in der Linie, -1, wenn nicht gefunden (wenn Zählung Null ist)
public virtual int FindClosestPoint(IComparable xValue, IComparable yValue, double xyScaleRatio, double hitTestRadius)
result = dataSeries.FindClosestPoint(xValue, yValue, xyScaleRatio, hitTestRadius)
Suchregion ist ein vertikaler Bereich mit der Mitte in X und [maxXDistance] X Einheiten links und rechts.
- xValue
- Der X-Wert von Punkt [X Dateneinheiten, nicht Pixel]
- yValue
- Der Y-Wert von Punkt [Y Dateneinheiten, nicht Pixel]
- xyScaleRatio
- xUnitsPerPixel/yUnitsPerPixel
- hitTestRadius
- Gibt Suchregion in Diagrammkoordinaten an (Ticks für DateTime oder TimeSpan)
Rückgabe: Der Index des gefundenen Wertes, -1, falls nicht gefunden (wenn die Zahl Null ist)
public int FindIndex(IComparable x, SearchMode searchMode)
result = dataSeries.FindIndex(x, searchMode)
Findet den Index zum DataSeries am angegebenen X-Wert
- x
- Der X-Wert, nach dem gesucht werden soll
- searchMode
- Die SearchMode zu verwendenden Optionen. Standard ist genau, wobei -1 zurückgegeben wird, wenn der Index nicht gefunden wird
Rückgabe: Der Index des gefundenen Wertes
public IndexRange GetIndicesRange(IRange range)
result = dataSeries.GetIndicesRange(range)
Bekommt die ganzzahligen Indizes des XValues-Arrays, die sich derzeit im VisibleRange befinden.
- range
- Die VisibleRange um den Indexbereich zu erhalten
Rückgabe: Die Indizes zu den X-Data, die sich derzeit im Bereich befinden
protected T GetPositiveMin<T>(T positiveMin, T min)
result = dataSeries.GetPositiveMin(positiveMin, min)
Holt sich den minimalen positiven Wert von (positiveMin, min)
- positiveMin
- min
public IRange GetWindowedYRange(IRange xRange, bool getPositiveRange)
result = dataSeries.GetWindowedYRange(xRange, getPositiveRange)
Holt sich den YRange der Daten (min, max der Serie) im sichtbaren Bereichsbereich, wobei der Eingabebereich der VisibleRange ist.
- xRange
- Die X-Achsen-Reihe derzeit in Sicht
- getPositiveRange
- Gibt an, ob nur positive YRange zurückgegeben werden soll
Rückgabe: Der YRange der Daten in diesem Fenster
public IRange GetWindowedYRange(IndexRange xIndexRange)
result = dataSeries.GetWindowedYRange(xIndexRange)
Erhält den YRange der Daten (min, max der Serie) im Eingang IndexRange, wobei Indizes Punktindizes in den Spalten DataSeries sind
- xIndexRange
- Die X-Achse Indizes derzeit in Sicht
Rückgabe: Der YRange der Daten in diesem Fenster
public IRange GetWindowedYRange(IRange xRange)
result = dataSeries.GetWindowedYRange(xRange)
Holt sich den YRange der Daten (min, max der Serie) im sichtbaren Bereichsbereich, wobei der Eingabebereich der VisibleRange ist.
- xRange
- Die X-Achsen-Reihe derzeit in Sicht
Rückgabe: Der YRange der Daten in diesem Fenster
public IRange GetWindowedYRange(IndexRange xIndexRange, bool getPositiveRange)
result = dataSeries.GetWindowedYRange(xIndexRange, getPositiveRange)
Erhält den YRange der Daten (min, max der Serie) im Eingang IndexRange, wobei Indizes Punktindizes in den Spalten DataSeries sind
- xIndexRange
- Die X-Achse Indizes derzeit in Sicht
- getPositiveRange
- Gibt an, ob nur positive YRange zurückgegeben werden soll
Rückgabe: Der YRange der Daten in diesem Fenster
public TX GetXMinAt(int index, TX existingXMin)
result = dataSeries.GetXMinAt(index, existingXMin)
Wenn Sie in einer abgeleiteten Klasse überschreiben, erhalten Sie das Min(existingXMin, currentMin), wobei currentMin das Minimum bei dem angegebenen Index ist.
- index
- Der Index zum zugrunde liegenden Datensatz
- existingXMin
- Das bestehende Minimum
Rückgabe: Das neue XMin, das ist das Min(existingXMin, currentMin)
public abstract TY GetYMaxAt(int index, TY existingYMax)
result = dataSeries.GetYMaxAt(index, existingYMax)
Wenn Sie in einer abgeleiteten Klasse überschreiben, erhalten Sie den Max(existingYMax, currentMax), wobei currentMax das Maximum bei dem angegebenen Index ist.
- index
- Der Index zum zugrunde liegenden Datensatz
- existingYMax
- Das bestehende Maximum
Rückgabe: Der neue YMax, der Min(existingYMax, currentMax) ist
public abstract TY GetYMinAt(int index, TY existingYMin)
result = dataSeries.GetYMinAt(index, existingYMin)
Wenn Sie in einer abgeleiteten Klasse überschreiben, erhalten Sie das Min(existingYMin, currentMin), wobei currentMin das Minimum bei dem angegebenen Index ist.
- index
- Der Index zum zugrunde liegenden Datensatz
- existingYMin
- Das bestehende Minimum
Rückgabe: Die neue YMin, die Min(existingYMin, currentMin) ist
public void InvalidateParentSurface(RangeMode rangeMode)
dataSeries.InvalidateParentSurface(rangeMode)
Diese Methode ist äußerst nützlich, wenn IDataSeries in einem ViewModel und über MVVM an IRenderableSeries gebunden sind. Bitte beachten Sie den Parameter für die Ungültigerklärungsoptionen
- rangeMode
- Bietet RangeMode Ungültigkeitsoptionen für die übergeordnete Oberfläche
public void Remove(TX x)
dataSeries.Remove(x)
Entfernt die zugehörigen Y-Werte für den angegebenen X-Wert
- x
- Das X DataValue zu entfernen. Entfernt alle zugehörigen Y-Werte
public abstract void RemoveAt(int index)
dataSeries.RemoveAt(index)
Entfernen der X,Y-Werte im angegebenen Index
- index
- Der Index zum Entfernen bei
public abstract void RemoveRange(int startIndex, int count)
dataSeries.RemoveRange(startIndex, count)
Entfernen Sie eine Reihe von Punkten, die vom angegebenen Index ausgehen
- startIndex
- Startindex des zu entfernenden Elementbereichs
- count
- Die Anzahl der zu entfernenden Elemente
public void ResumeUpdates(IUpdateSuspender suspender)
dataSeries.ResumeUpdates(suspender)
Setzt Updates für das Ziel fort, die von IUpdateSuspender aufgerufen werden sollen
- suspender
public IUpdateSuspender SuspendUpdates()
result = dataSeries.SuspendUpdates()
Setzt die Zeichnungsaktualisierungen des Ziels aus, bis das zurückgegebene Objekt entsorgt ist, wenn ein endgültiger Draw Call ausgegeben wird
Rückgabe: Der Einweg-Update Suspender
protected void ThrowWhenAppendInvalid(int paramsCount)
dataSeries.ThrowWhenAppendInvalid(paramsCount)
Bestätigen korrekte Anzahl der Parameter, die an Append(TX, Params TY) geliefert wurden, und würfen falls erforderlich
- paramsCount
- Die erwartete Anzahl der Params
public virtual HitTestInfo ToHitTestInfo(int index)
result = dataSeries.ToHitTestInfo(index)
Wenn in einer abgeleiteten Klasse überschrieben, gibt eine HitTestInfo @ Struktur mit Daten über den Datenpunkt an den angegebenen Index
- index
- Der Index zum DataSeries
Rückgabe: Die HitTestInfo
public abstract IPointSeries ToPointSeries(ResamplingMode resamplingMode, IndexRange pointRange, int viewportWidth, bool isCategoryAxis, bool? dataIsDisplayedAs2D, IRange visibleXRange, IPointResamplerFactory factory, object pointSeriesArg)
result = dataSeries.ToPointSeries(resamplingMode, pointRange, viewportWidth, isCategoryAxis, dataIsDisplayedAs2D, visibleXRange, factory, pointSeriesArg)
Konvertiert den Standard YValues in IPointSeries, der zum Rendern von XY-Serien verwendet wird
- resamplingMode
- Die gewünschte ResamplingMode
- pointRange
- Der Integer-Indizes-Bereich im übergeordneten Datensatz
- viewportWidth
- Die aktuelle Breite des Viewports
- isCategoryAxis
- Wenn true, verwendet die Indizes, um die neu gesampelten X-Werte zu bilden, andernfalls verwendet sie die X-Werte selbst
- dataIsDisplayedAs2D
- Wenn dies wahr ist, werden Daten als eine Streureihe ohne Beziehung zwischen den Punkten betrachtet, e.g. keine Zeilenreihe
- visibleXRange
- factory
- Die PointResamplerFactory, die IPointResampler Instanzen zurückgibt
- pointSeriesArg
- Zusätzlicher Parameter für die Punktreihe.
Rückgabe: Ein IPointSeries, das zum Rendern von XY-Serien verwendet wird
public IPointSeries ToPointSeries(IList column, ResamplingMode resamplingMode, IndexRange pointRange, int viewportWidth, bool isCategoryAxis)
result = dataSeries.ToPointSeries(column, resamplingMode, pointRange, viewportWidth, isCategoryAxis)
Verwenden Sie stattdessen ToPointSeries und fügen Sie den Typ der Punktreihen zu korrigieren
- column
- resamplingMode
- pointRange
- viewportWidth
- isCategoryAxis
Ereignisse
public event EventHandler<DataSeriesChangedEventArgs> DataSeriesChanged
dataSeries.DataSeriesChanged += handler
Ereignis wird ausgelöst, wenn Punkte hinzugefügt, entfernt oder eine oder mehrere DataSeries Eigenschaften geändert werden
Felder
protected ISeriesColumn<TX> _xColumn
value = dataSeries._xColumn
Die XColumn für diese DataSeries
protected ISeriesColumn<TY> _yColumn
value = dataSeries._yColumn
Die primäre YColumn für diese DataSeries @